package com.itbaizhan.mongotest.controller;

import com.itbaizhan.mongotest.entity.Orders;
import com.itbaizhan.mongotest.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/*@RestController相当于@Controller和@ResponseBody合在一起的作用；
1如果使用@RestController注解Controller层的话，则返回的是return里面的内容，
无法返回到指定的页面，配置的视图解析器InternalResourceViewResolver也就自然没有作用了；
2如果要返回到指定的页面，则需要用@Controller配合视图解析器InternalResourceViewResolver；
3如果需要返回JSON、XML或自定义mediaType内容到页面，则需要在对应的方法上加上@ResponseBody注解。
*/
@RestController
public class OrderController {

    @Autowired
    private OrderService orderService;

    /*访问地址   用@GetMapping  能从网址上把参数传进来
    * http://localhost:8080/get?name=Cheese*/
    @GetMapping("/get")
    public List<Orders> getOrdersByName(String name){
        //MongoTemplate 方式
        //return  orderService.getOrdersByName(name);

    //MongoRepository 方式
        return orderService.getOrdersByName2(name);
    }
}
/*MongoTemplate方式

引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.6.8</version>
</dependency>

配置文件application.properties
spring.data.mongodb.host=192.168.139.132
spring.data.mongodb.port=27017
spring.data.mongodb.database=mydb

DAO 实现类注入MongoTemplate 完成增删改查
@Autowired
protected MongoTemplate mongoTemplate;*/

/*MongoRepository 的方式

引入依赖，同MongoTemplate方式

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.6.8</version>
</dependency>

配置文件application.properties，同MongoTemplate方式

spring.data.mongodb.host=192.168.139.132
spring.data.mongodb.port=27017
spring.data.mongodb.database=mydb

编写 Repository接口继承MongoRepository

public interface OrdersRepository extends MongoRepository<Orders, String> {
 List<Orders> findOrderByName(String name);
}*/